/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.sofp.ClasseMapeada;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Daniel
 */
@Entity
@Table(name = "receita")
@NamedQueries({
    @NamedQuery(name = "Receita.findAll", query = "SELECT r FROM Receita r"),
    @NamedQuery(name = "Receita.findByIdreceita", query = "SELECT r FROM Receita r WHERE r.idreceita = :idreceita"),
    @NamedQuery(name = "Receita.findByNumdocumentoreceita", query = "SELECT r FROM Receita r WHERE r.numdocumentoreceita = :numdocumentoreceita"),
    @NamedQuery(name = "Receita.findByDtemissaoreceita", query = "SELECT r FROM Receita r WHERE r.dtemissaoreceita = :dtemissaoreceita"),
    @NamedQuery(name = "Receita.findByDtvencimentoreceita", query = "SELECT r FROM Receita r WHERE r.dtvencimentoreceita = :dtvencimentoreceita"),
    @NamedQuery(name = "Receita.findByDtrecebimentoreceita", query = "SELECT r FROM Receita r WHERE r.dtrecebimentoreceita = :dtrecebimentoreceita"),
    @NamedQuery(name = "Receita.findByVlrreceita", query = "SELECT r FROM Receita r WHERE r.vlrreceita = :vlrreceita"),
    @NamedQuery(name = "Receita.findByVlrdescontoreceita", query = "SELECT r FROM Receita r WHERE r.vlrdescontoreceita = :vlrdescontoreceita"),
    @NamedQuery(name = "Receita.findByVlrjuroreceita", query = "SELECT r FROM Receita r WHERE r.vlrjuroreceita = :vlrjuroreceita"),
    @NamedQuery(name = "Receita.findByVlrrecebidoreceita", query = "SELECT r FROM Receita r WHERE r.vlrrecebidoreceita = :vlrrecebidoreceita"),
    @NamedQuery(name = "Receita.findByVlrtotalrecebreceita", query = "SELECT r FROM Receita r WHERE r.vlrtotalrecebreceita = :vlrtotalrecebreceita"),
    @NamedQuery(name = "Receita.findByStatusreceita", query = "SELECT r FROM Receita r WHERE r.statusreceita = :statusreceita")})
public class Receita implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "IDRECEITA")
    private Integer idreceita;
    @Column(name = "NUMDOCUMENTORECEITA")
    private String numdocumentoreceita;
    @Column(name = "DTEMISSAORECEITA")
    @Temporal(TemporalType.DATE)
    private Date dtemissaoreceita;
    @Column(name = "DTVENCIMENTORECEITA")
    @Temporal(TemporalType.DATE)
    private Date dtvencimentoreceita;
    @Column(name = "DTRECEBIMENTORECEITA")
    @Temporal(TemporalType.DATE)
    private Date dtrecebimentoreceita;
    @Column(name = "VLRRECEITA")
    private Double vlrreceita;
    @Column(name = "VLRDESCONTORECEITA")
    private Double vlrdescontoreceita;
    @Column(name = "VLRJURORECEITA")
    private Double vlrjuroreceita;
    @Column(name = "VLRRECEBIDORECEITA")
    private Double vlrrecebidoreceita;
    @Column(name = "VLRTOTALRECEBRECEITA")
    private Double vlrtotalrecebreceita;
    @Column(name = "STATUSRECEITA")
    private Integer statusreceita;
    @JoinColumn(name = "IDPAGTOREBTORECEITA", referencedColumnName = "IDPAGTOREBTO")
    @ManyToOne
    private Tipopagtorecbto idpagtorebtoreceita;
    @JoinColumn(name = "CODIGOPESSOARECEITA", referencedColumnName = "CODIGOPESSOA")
    @ManyToOne
    private Pessoa codigopessoareceita;
    @JoinColumn(name = "IDTIPOCONTARECEITA", referencedColumnName = "IDTIPOCONTA")
    @ManyToOne
    private Tipoconta idtipocontareceita;

    public Receita() {
    }

    public Receita(Integer idreceita) {
        this.idreceita = idreceita;
    }

    public Integer getIdreceita() {
        return idreceita;
    }

    public void setIdreceita(Integer idreceita) {
        this.idreceita = idreceita;
    }

    public String getNumdocumentoreceita() {
        return numdocumentoreceita;
    }

    public void setNumdocumentoreceita(String numdocumentoreceita) {
        this.numdocumentoreceita = numdocumentoreceita;
    }

    public Date getDtemissaoreceita() {
        return dtemissaoreceita;
    }

    public void setDtemissaoreceita(Date dtemissaoreceita) {
        this.dtemissaoreceita = dtemissaoreceita;
    }

    public Date getDtvencimentoreceita() {
        return dtvencimentoreceita;
    }

    public void setDtvencimentoreceita(Date dtvencimentoreceita) {
        this.dtvencimentoreceita = dtvencimentoreceita;
    }

    public Date getDtrecebimentoreceita() {
        return dtrecebimentoreceita;
    }

    public void setDtrecebimentoreceita(Date dtrecebimentoreceita) {
        this.dtrecebimentoreceita = dtrecebimentoreceita;
    }

    public Double getVlrreceita() {
        return vlrreceita;
    }

    public void setVlrreceita(Double vlrreceita) {
        this.vlrreceita = vlrreceita;
    }

    public Double getVlrdescontoreceita() {
        return vlrdescontoreceita;
    }

    public void setVlrdescontoreceita(Double vlrdescontoreceita) {
        this.vlrdescontoreceita = vlrdescontoreceita;
    }

    public Double getVlrjuroreceita() {
        return vlrjuroreceita;
    }

    public void setVlrjuroreceita(Double vlrjuroreceita) {
        this.vlrjuroreceita = vlrjuroreceita;
    }

    public Double getVlrrecebidoreceita() {
        return vlrrecebidoreceita;
    }

    public void setVlrrecebidoreceita(Double vlrrecebidoreceita) {
        this.vlrrecebidoreceita = vlrrecebidoreceita;
    }

    public Double getVlrtotalrecebreceita() {
        return vlrtotalrecebreceita;
    }

    public void setVlrtotalrecebreceita(Double vlrtotalrecebreceita) {
        this.vlrtotalrecebreceita = vlrtotalrecebreceita;
    }

    public Integer getStatusreceita() {
        return statusreceita;
    }

    public void setStatusreceita(Integer statusreceita) {
        this.statusreceita = statusreceita;
    }

    public Tipopagtorecbto getIdpagtorebtoreceita() {
        return idpagtorebtoreceita;
    }

    public void setIdpagtorebtoreceita(Tipopagtorecbto idpagtorebtoreceita) {
        this.idpagtorebtoreceita = idpagtorebtoreceita;
    }

    public Pessoa getCodigopessoareceita() {
        return codigopessoareceita;
    }

    public void setCodigopessoareceita(Pessoa codigopessoareceita) {
        this.codigopessoareceita = codigopessoareceita;
    }

    public Tipoconta getIdtipocontareceita() {
        return idtipocontareceita;
    }

    public void setIdtipocontareceita(Tipoconta idtipocontareceita) {
        this.idtipocontareceita = idtipocontareceita;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idreceita != null ? idreceita.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Receita)) {
            return false;
        }
        Receita other = (Receita) object;
        if ((this.idreceita == null && other.idreceita != null) || (this.idreceita != null && !this.idreceita.equals(other.idreceita))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.com.sofp.ClasseMapeada.Receita[idreceita=" + idreceita + "]";
    }

}
